package com.zeng.pojo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;

import javax.annotation.Resource;

/**
 * @author zeng
 * @data 2021/06/07 16:26
 */
public class Person {
    /*
     * 需要导入context支持
     * 先通过bytype查找，如果查找不到就报错
     *在属性上使用，不添加@Autowired会报错，即没有给对象创建空间
     * 不需要使用set方法，通过注解是反射直接给属性赋值
     * @Nullable 表示可以null, 必须在Autowired的配置下
     * Autowired可以添加一个属性，默认为真，如果为false,属性为null也可以使用
     * @Qualifier(value="") 可以显示指定要注释的对象
     */
    /*
     * @Resource注解，先通过名字查找，在类型查找，都没找的才报错，通过增加name指定对象
     * 两个注解的方法差不多
     */
    //@Resource
    @Autowired
    private Cat cat;
    @Resource(name = "dog111")
    @Autowired
    @Qualifier(value = "dog11")
    private Dog dog;
    @Value("zeng")
    private String name;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Cat getCat() {
        return cat;
    }

    public void setCat(Cat cat) {
        this.cat = cat;
    }

    public Dog getDog() {
        return dog;
    }

    public void setDog(Dog dog) {
        this.dog = dog;
    }
}
